package com.tiger.project.domain;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tiger.common.annotation.Excel;
import com.tiger.common.core.domain.BaseEntity;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;


/**
 * 【维修项目】对象 maintenance_apply
 *
 * @author standard
 * @date 2022-09-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "maintenance_apply对象", description = "【维修项目】内容")
public class MaintenanceApply extends BaseEntity {
private static final long serialVersionUID = 1L;


        private Long id;

        /** 巡查记录id，method=2必填 */
        @Excel(name = "巡查记录id，method=2必填")
        @ApiModelProperty(value = "巡查记录id，method=2必填")
        private Long patrolRecordId;

        /** 资产id */
        @Excel(name = "资产id")
        @ApiModelProperty(value = "资产id")
        private Long assetId;

        /** 维修记录号 */
        @Excel(name = "维修记录号")
        @ApiModelProperty(value = "维修记录号")
        private String maintenanceApplyNo;

        /** 1-自主发起，2-巡查发起，3-租户发起 */
        @Excel(name = "1-自主发起，2-巡查发起，3-租户发起")
        @ApiModelProperty(value = "1-自主发起，2-巡查发起，3-租户发起")
        private Integer initiateMethod;

        /** 描述 */
        @Excel(name = "描述")
        @ApiModelProperty(value = "描述")
        private String description;

        /** 1-未提交，2-审批中，3-审批通过，4-已驳回 */
        @Excel(name = "1-未提交，2-审批中，3-审批通过，4-已驳回")
        @ApiModelProperty(value = "1-未提交，2-审批中，3-审批通过，4-已驳回")
        private Long status;

        /** 1-是，0-否 */
        @Excel(name = "1-是，0-否")
        @ApiModelProperty(value = "1-是，0-否")
        private Long isDeleted;

        /** 创建时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
        @ApiModelProperty(value = "创建时间")
        private Date createdAt;

        /** 更新时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
        @ApiModelProperty(value = "更新时间")
        private Date updatedAt;

        /** oa审核后返回 */
        @Excel(name = "oa审核后返回")
        @ApiModelProperty(value = "oa审核后返回  维修项目名称")
        private String name;

        /** 承租方id */
        @Excel(name = "承租方id")
        @ApiModelProperty(value = "承租方id")
        private Long tenantryId;

        /** 承租方姓名 */
        @Excel(name = "承租方姓名")
        @ApiModelProperty(value = "承租方姓名")
        private String tenantryName;

        /** 承租方联系方式 */
        @Excel(name = "承租方联系方式")
        @ApiModelProperty(value = "承租方联系方式")
        private String tenantryPhone;

        /** 创建人 */
        @Excel(name = "创建人")
        @ApiModelProperty(value = "创建人")
        private Long createById;

        /** 创建人名称 */
        @Excel(name = "创建人名称")
        @ApiModelProperty(value = "创建人名称")
        private String createByName;

        /** 更新人 */
        @Excel(name = "更新人")
        @ApiModelProperty(value = "更新人")
        private Long updateById;

        /** 更新人名称 */
        @Excel(name = "更新人名称")
        @ApiModelProperty(value = "更新人名称")
        private String updateByName;

        /** 租户id(0--平台用户 非0--正常租户) */
        @Excel(name = "租户id(0--平台用户 非0--正常租户)")
        @ApiModelProperty(value = "租户id(0--平台用户 非0--正常租户)")
        private Long tenantId;

        @ApiModelProperty(value = "公司id")
        private Long companyId;

        @ApiModelProperty(value = "资产名称")
        private String assetName;


        @ApiModelProperty(value = "巡查记录编号")
        private String patrolRecordNo;

        @ApiModelProperty(value = "维修项目图片地址(,号拼接)")
        private String maintenancePic;

        @ApiModelProperty(value = "维修项目图片地址集合")
        private List<String> maintenancePicList;

        @ApiModelProperty(value = "资产集合")
        private List<Asset> assetList = new ArrayList<>();

        @ApiModelProperty(value = "附件集合")
        private List<MaintenanceEnclosure> enclosureList = new ArrayList<>();

        @ApiModelProperty(value = "1-升序 2-倒叙")
        private Long rank;

        /** 发起部门负责人 */
        @Excel(name = "发起部门负责人")
        @ApiModelProperty(value = "发起部门负责人")
        private String sourceDeptName;

        /** 部门负责人 */
        @Excel(name = "部门负责人")
        @ApiModelProperty(value = "部门负责人")
        private String deptName;

        /** 勘察结果 */
        @Excel(name = "勘察结果")
        @ApiModelProperty(value = "勘察结果")
        private String reconnaissanceReport;

        /** 勘察结果附件 */
        @Excel(name = "勘察结果附件")
        @ApiModelProperty(value = "勘察结果附件")
        private String reconnaissanceReportFile;

        /** 招标文件 */
        @Excel(name = "招标文件")
        @ApiModelProperty(value = "招标文件")
        private String invitationFile;

        /** 开标情况表 */
        @Excel(name = "开标情况表")
        @ApiModelProperty(value = "开标情况表")
        private String openingTenderFile;

        /** 报价单 */
        @Excel(name = "报价单")
        @ApiModelProperty(value = "报价单")
        private String quotation;

        /** 中标供应商 */
        @Excel(name = "中标供应商")
        @ApiModelProperty(value = "中标供应商")
        private String providerName;

        /** 中标价 */
        @Excel(name = "中标价")
        @ApiModelProperty(value = "中标价")
        private String providerMoney;

        /** oa审批链接 */
        @Excel(name = "oa审批链接")
        @ApiModelProperty(value = "oa审批链接")
        private String oaFile;

        @ApiModelProperty(value = "OA的token")
        private String token;

        @ApiModelProperty(value = "OA的登录名")
        private String loginName;

}
